printbackend: Add a list model getter
authorMatthias Clasen <mclasen@redhat.com>
Sun, 22 Dec 2019 19:49:26 +0000 (14:49 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 31 May 2020 17:01:17 +0000 (13:01 -0400)
Now that we have a list model for printers,
we can start using it.

gtk/gtkprintbackend.c
gtk/gtkprintbackendprivate.h

index a6f44c08caaf1018ab9b3bce143e7b7af3c2fb69..eadd4125d5f0e4ea408efbc901275e4d2e6fdef8 100644 (file)
@@ -471,6 +471,19 @@ gtk_print_backend_get_printer_list (GtkPrintBackend *backend)
   return result;
 }
 
+GListModel *
+gtk_print_backend_get_printers (GtkPrintBackend *backend)
+{
+  if (!backend->priv->printer_list_requested)
+    {
+      if (GTK_PRINT_BACKEND_GET_CLASS (backend)->request_printer_list)
+       GTK_PRINT_BACKEND_GET_CLASS (backend)->request_printer_list (backend);
+      backend->priv->printer_list_requested = TRUE;
+    }
+
+  return G_LIST_MODEL (backend->priv->printers);
+}
+
 gboolean
 gtk_print_backend_printer_list_is_done (GtkPrintBackend *backend)
 {
index 1c6b91e228aba2b9bf236695cdaf087dcef9a041..c6505b7c7c557c3dbda8de568f8582919e64b088 100644 (file)
@@ -149,6 +149,8 @@ GType   gtk_print_backend_get_type       (void) G_GNUC_CONST;
 GDK_AVAILABLE_IN_ALL
 GList      *gtk_print_backend_get_printer_list     (GtkPrintBackend         *print_backend);
 GDK_AVAILABLE_IN_ALL
+GListModel *gtk_print_backend_get_printers         (GtkPrintBackend         *print_backend);
+GDK_AVAILABLE_IN_ALL
 gboolean    gtk_print_backend_printer_list_is_done (GtkPrintBackend         *print_backend);
 GDK_AVAILABLE_IN_ALL
 GtkPrinter *gtk_print_backend_find_printer         (GtkPrintBackend         *print_backend,